/**
 * Project Name:jh
 * File Name:IPCam.java
 * Package Name:com.jh.pojo
 * Date:下午2:17:56
 * Copyright (c) 2021, LZ All Rights Reserved.
 *
*/

package com.jh.pojo;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.List;

/**
 * Description: <br/>
 * Date: 下午2:17:56 <br/>
 * 
 * @author lz E-mail:withitren@outlook.com
 * @version
 * @see
 */
public class IPCamMsg {
    /*系统信息*/
    private String msgType; // 消息类型

    private List<String> msgUserList; // 记录在线用户

    private String msgSndr; // 消息发送者

    private String msgRcvr; // 消息接收者

    private String msgInfo; // 消息体

    private String msgDateStr; // 时间

    private String ipcamName; // 摄像机Name

    private String ipcamIP; // 摄像机IP

    private String ipcamURL; // 播放地址URL

    private String ipcamZMLURL; // ZML播放地址URL

    /*图像调节*/
    private String videoLight; // 图像亮度

    private String videoContrast; // 图像对比度

    private String videoSaturation; // 图像饱和度

    private String videoAcutance; // 图像锐度
    /*曝光参数
    曝光模式
    “自动”模式下，光圈、快门、增益自动调节，还可设置其光圈和快门的限制值。  −
    “光圈优先”模式下，光圈使用设定的固定光圈值，快门和增益自动调节。  −
    “快门优先”模式下，快门使用设定的固定快门值，光圈和增益自动调节。  −
    “手动”模式下，光圈、快门、增益手动设置
    
    增益限制：可拖动进度条或者设置增益限制值，可设置的值范围为 0~100
    
    低照度电子快门：开启和关闭低照度快门，当处于低照度环境时可看清监控画面。
    
    低照度电子快门级别：当开启“低照度电子快门”时，您可设置电子快门级别，当慢
    快门数值越高，表示快门越慢。*/

    private String exposModel;

    private String apertureMaxVal;

    private String apertureMinVal;

    private String shutterMaxVal;

    private String shutterMinVal;

    private String gainVal;

    private String lowExposEShutter;

    private String lowExposEShutterLevel;

    /*光圈优先模式*/
    private String apertureModelVal;

    /*快门优先模式*/
    private String shutterModelVal;

    /*手动模式*/
    private String handModelAperture;

    private String handModelShutter;

    private String handModelGain;

    /*聚焦参数*/
    /*聚焦模式：可选择自动、半自动、手动。
        “自动”模式下，根据监控场景变化自动聚焦。当聚焦模式设置为“自动聚焦”出现聚焦不清时，请减少图像内的灯光，同时避开闪烁的灯光。
            您可通过适当放大倍率减少图像内的灯光。
        “半自动”模式下，在控制云台及镜头变倍后聚焦一次，聚焦清楚后即使场景变化也不再聚焦。
        “手动”模式下通过预览界面的调焦手动聚焦清楚。  −
       最小聚焦距离：表示场景离镜头的距离小于设置的距离时，则不聚焦。 
     * */
    private String focusModel;

    /*日夜转换*/
    /*日夜转换：可设置为自动、白天、夜晚和定时和报警输入触发，当设置为定时模式时，需设置白天模式的开始时间和结束时间。
     * 当设置为自动时，将自动进行日夜画面的转化；当设置为白天或夜晚时，系统将被强制切换为白天或夜晚模式。当设置为报警输
        入触发时，您还需设置触发模式，设置为“白天”时即报警触发后将转为“白天”模式，设置为“夜晚”时即报警触发后将转为“夜晚”模式。
        灵敏度：当日夜转换为“自动”时，您可设置灵敏度，灵敏度越高，日夜转换越容易，否则将越难。*/
    private String dayNightConv;

    private String sensitvity;

    private String timeModBeg;

    private String timeModEnd;

    private String tirgerMod;

    /*背光参数*/
    /*背光补偿
     *宽动态
     *强光抑制 
     * */
    private String BLC; // Back light Compensation

    private String WDR; // Wide Dynamic Range

    private String HSBLC; // Highlight Suppress Back Light Compensation

    /*白平衡*/
    /*白平衡和设置为自动白平衡、室内、室外、手动白平衡、日光灯、钠灯，但具体的设置
    需要根据机芯而定。*/
    private String whiteBalance;

    /*图像增强*/
    /*
     * 普通降噪模式时，您可以拖动进度条或者设置降噪等级值。专家降噪模式时，您可以从空域降噪和时域降噪两个维度进行调节。
       开启透雾功能，从而看到远处的景物
      */
    private String denoiseMode;

    private String denoiseLevel;

    /*视频调整
     * 镜像：可根据需要镜像调整视频，能选择中心镜像调整，也可关闭镜像
     * 视频制式：可选择 PAL（50HZ）或 NTSC（60HZ）。
     * 视频输入模式：可选择本地视频输出的最大分辨率，缺省关闭，即机芯所能输出的最大图像分辨率。
     * */

    /*OSD 设置
     * 勾选“显示名称”、“显示日期”、“显示星期”可将 OSD 信息显示，此时您可拖动 OSD红色方框改变 OSD 的位置
     * 您可修改通道名称、时间及日期的格式
     * OSD 属性：OSD 属性包括“透明，闪烁”、“透明，不闪烁”、“闪烁、不透明”和“不透明、不闪烁”；同时也可设置 OSD 字体大小与颜色。OSD 字符可选择对齐方式为右对齐或自定义。
     *字符叠加：一体机可叠加字符到视频监控画面，您可勾选需要叠加的字符并输入设置字符。不同型号的一体机支持叠加的字符条数不同，请以实际界面为准
     * */

    /*PTZ
     * 云台的转动速度
     * 自动扫描命令*/
    private String ptzSpeed;

    private String autoScan;

    /*录像
     * 路径*/
    private String recordUri;

    /*回放
     * 路径*/
    private String rePlayUri;

    public String getMsgType() {
        return msgType;
    }

    public void setMsgType(String msgType) {
        this.msgType = msgType;
    }

    public List<String> getMsgUserList() {
        return msgUserList;
    }

    public void setMsgUserList(List<String> msgUserList) {
        this.msgUserList = msgUserList;
    }

    public String getMsgSndr() {
        return msgSndr;
    }

    public void setMsgSndr(String msgSndr) {
        this.msgSndr = msgSndr;
    }

    public String getMsgRcvr() {
        return msgRcvr;
    }

    public void setMsgRcvr(String msgRcvr) {
        this.msgRcvr = msgRcvr;
    }

    public String getMsgInfo() {
        return msgInfo;
    }

    public void setMsgInfo(String msgInfo) {
        this.msgInfo = msgInfo;
    }

    public String getMsgDateStr() {
        return msgDateStr;
    }

    public void setMsgDateStr(String msgDateStr) {
        DateFormat format = new SimpleDateFormat("yy-MM-dd HH:mm:ss");
        this.msgDateStr = format.format(msgDateStr);
    }

    public String getIpcamIP() {
        return ipcamIP;
    }

    public void setIpcamIP(String ipcamIP) {
        this.ipcamIP = ipcamIP;
    }

    public String getIpcamURL() {
        return ipcamURL;
    }

    public void setIpcamURL(String ipcamURL) {
        this.ipcamURL = ipcamURL;
    }

    public String getIpcamZMLURL() {
        return ipcamZMLURL;
    }

    public void setIpcamZMLURL(String ipcamZMLURL) {
        this.ipcamZMLURL = ipcamZMLURL;
    }

    public String getVideoLight() {
        return videoLight;
    }

    public void setVideoLight(String videoLight) {
        this.videoLight = videoLight;
    }

    public String getVideoContrast() {
        return videoContrast;
    }

    public void setVideoContrast(String videoContrast) {
        this.videoContrast = videoContrast;
    }

    public String getVideoSaturation() {
        return videoSaturation;
    }

    public void setVideoSaturation(String videoSaturation) {
        this.videoSaturation = videoSaturation;
    }

    public String getVideoAcutance() {
        return videoAcutance;
    }

    public void setVideoAcutance(String videoAcutance) {
        this.videoAcutance = videoAcutance;
    }

    public String getExposModel() {
        return exposModel;
    }

    public void setExposModel(String exposModel) {
        this.exposModel = exposModel;
    }

    public String getApertureMaxVal() {
        return apertureMaxVal;
    }

    public void setApertureMaxVal(String apertureMaxVal) {
        this.apertureMaxVal = apertureMaxVal;
    }

    public String getApertureMinVal() {
        return apertureMinVal;
    }

    public void setApertureMinVal(String apertureMinVal) {
        this.apertureMinVal = apertureMinVal;
    }

    public String getShutterMaxVal() {
        return shutterMaxVal;
    }

    public void setShutterMaxVal(String shutterMaxVal) {
        this.shutterMaxVal = shutterMaxVal;
    }

    public String getShutterMinVal() {
        return shutterMinVal;
    }

    public void setShutterMinVal(String shutterMinVal) {
        this.shutterMinVal = shutterMinVal;
    }

    public String getGainVal() {
        return gainVal;
    }

    public void setGainVal(String gainVal) {
        this.gainVal = gainVal;
    }

    public String getLowExposEShutter() {
        return lowExposEShutter;
    }

    public void setLowExposEShutter(String lowExposEShutter) {
        this.lowExposEShutter = lowExposEShutter;
    }

    public String getLowExposEShutterLevel() {
        return lowExposEShutterLevel;
    }

    public void setLowExposEShutterLevel(String lowExposEShutterLevel) {
        this.lowExposEShutterLevel = lowExposEShutterLevel;
    }

    public String getApertureModelVal() {
        return apertureModelVal;
    }

    public void setApertureModelVal(String apertureModelVal) {
        this.apertureModelVal = apertureModelVal;
    }

    public String getShutterModelVal() {
        return shutterModelVal;
    }

    public void setShutterModelVal(String shutterModelVal) {
        this.shutterModelVal = shutterModelVal;
    }

    public String getHandModelAperture() {
        return handModelAperture;
    }

    public void setHandModelAperture(String handModelAperture) {
        this.handModelAperture = handModelAperture;
    }

    public String getHandModelShutter() {
        return handModelShutter;
    }

    public void setHandModelShutter(String handModelShutter) {
        this.handModelShutter = handModelShutter;
    }

    public String getHandModelGain() {
        return handModelGain;
    }

    public void setHandModelGain(String handModelGain) {
        this.handModelGain = handModelGain;
    }

    public String getFocusModel() {
        return focusModel;
    }

    public void setFocusModel(String focusModel) {
        this.focusModel = focusModel;
    }

    public String getDayNightConv() {
        return dayNightConv;
    }

    public void setDayNightConv(String dayNightConv) {
        this.dayNightConv = dayNightConv;
    }

    public String getSensitvity() {
        return sensitvity;
    }

    public void setSensitvity(String sensitvity) {
        this.sensitvity = sensitvity;
    }

    public String getTimeModBeg() {
        return timeModBeg;
    }

    public void setTimeModBeg(String timeModBeg) {
        this.timeModBeg = timeModBeg;
    }

    public String getTimeModEnd() {
        return timeModEnd;
    }

    public void setTimeModEnd(String timeModEnd) {
        this.timeModEnd = timeModEnd;
    }

    public String getTirgerMod() {
        return tirgerMod;
    }

    public void setTirgerMod(String tirgerMod) {
        this.tirgerMod = tirgerMod;
    }

    public String getBLC() {
        return BLC;
    }

    public void setBLC(String bLC) {
        BLC = bLC;
    }

    public String getWDR() {
        return WDR;
    }

    public void setWDR(String wDR) {
        WDR = wDR;
    }

    public String getHSBLC() {
        return HSBLC;
    }

    public void setHSBLC(String hSBLC) {
        HSBLC = hSBLC;
    }

    public String getWhiteBalance() {
        return whiteBalance;
    }

    public void setWhiteBalance(String whiteBalance) {
        this.whiteBalance = whiteBalance;
    }

    public String getDenoiseMode() {
        return denoiseMode;
    }

    public void setDenoiseMode(String denoiseMode) {
        this.denoiseMode = denoiseMode;
    }

    public String getDenoiseLevel() {
        return denoiseLevel;
    }

    public void setDenoiseLevel(String denoiseLevel) {
        this.denoiseLevel = denoiseLevel;
    }

    public String getPtzSpeed() {
        return ptzSpeed;
    }

    public void setPtzSpeed(String ptzSpeed) {
        this.ptzSpeed = ptzSpeed;
    }

    public String getAutoScan() {
        return autoScan;
    }

    public void setAutoScan(String autoScan) {
        this.autoScan = autoScan;
    }

    public String getRecordUri() {
        return recordUri;
    }

    public void setRecordUri(String recordUri) {
        this.recordUri = recordUri;
    }

    public String getRePlayUri() {
        return rePlayUri;
    }

    public void setRePlayUri(String rePlayUri) {
        this.rePlayUri = rePlayUri;
    }

    public String getIpcamName() {
        return ipcamName;
    }

    public void setIpcamName(String ipcamName) {
        this.ipcamName = ipcamName;
    }

    public IPCamMsg(String ipcamName, String ipcamIP) {
        super();
        this.ipcamName = ipcamName;
        this.ipcamIP = ipcamIP;
    }

}
